import java.util.zip.*;
import java.util.*;
import java.io.*;

/** Fichier zippé avec fonctions utiles
  *
  * @author     Nemesis (nemesis_tt@yahoo.fr)
  * @version    25/05/04
  */
 
public class ZipPatch extends ZipFile
{
    /** Fichiers dans le Zip */
    private Hashtable fichs = new Hashtable();

    /** Constructeur hérité */
    public ZipPatch(File zip) throws IOException 
    {
        super(zip);
        Enumeration elems = entries();
        while(elems.hasMoreElements()) {
            ZipEntry e = (ZipEntry)elems.nextElement();
            fichs.put(e.toString(), e);
        }
    }
    
    /** Méthode pour accéder à un fichier en mode texte */
    public InputStream get(String fich) throws IOException 
    {
        // Recuperation de l'entrée
        ZipEntry e = (ZipEntry)fichs.get(fich);
        
        return(getInputStream(e));
    }
    
    /** Méthode pour accéder à un fichier en mode raw data */
    public BufferedReader getData(String fich) throws IOException 
    {
        // Recuperation de l'entrée
        ZipEntry e = (ZipEntry)fichs.get(fich);
        
        return(new BufferedReader(
               new InputStreamReader(getInputStream(e))));
    }
}
